// com.ruoyi.platform.domain.vo.DashboardStatsVO.java
package com.ruoyi.platform.domain.vo;

import java.math.BigDecimal;
import java.util.List;

/**
 * 首页数据大屏统计VO
 */
public class DashboardStatsVO {
    
    /** 今日订单数 */
    private Long todayOrderCount;
    
    /** 今日平台营业额（抽成8%） */
    private BigDecimal todayPlatformRevenue;
    
    /** 今日新增用户数 */
    private Long todayNewUserCount;
    
    /** 今日平均客单价 */
    private BigDecimal todayAvgOrderValue;
    
    /** 本月订单量统计（按天） */
    private List<DailyOrderStats> monthlyOrderStats;
    
    /** 本月营业额统计（按天） */
    private List<DailyRevenueStats> monthlyRevenueStats;

    // 构造方法
    public DashboardStatsVO() {}
    
    public DashboardStatsVO(Long todayOrderCount, BigDecimal todayPlatformRevenue, 
                           Long todayNewUserCount, BigDecimal todayAvgOrderValue) {
        this.todayOrderCount = todayOrderCount;
        this.todayPlatformRevenue = todayPlatformRevenue;
        this.todayNewUserCount = todayNewUserCount;
        this.todayAvgOrderValue = todayAvgOrderValue;
    }

    // getter和setter方法
    public Long getTodayOrderCount() {
        return todayOrderCount;
    }

    public void setTodayOrderCount(Long todayOrderCount) {
        this.todayOrderCount = todayOrderCount;
    }

    public BigDecimal getTodayPlatformRevenue() {
        return todayPlatformRevenue;
    }

    public void setTodayPlatformRevenue(BigDecimal todayPlatformRevenue) {
        this.todayPlatformRevenue = todayPlatformRevenue;
    }

    public Long getTodayNewUserCount() {
        return todayNewUserCount;
    }

    public void setTodayNewUserCount(Long todayNewUserCount) {
        this.todayNewUserCount = todayNewUserCount;
    }

    public BigDecimal getTodayAvgOrderValue() {
        return todayAvgOrderValue;
    }

    public void setTodayAvgOrderValue(BigDecimal todayAvgOrderValue) {
        this.todayAvgOrderValue = todayAvgOrderValue;
    }

    public List<DailyOrderStats> getMonthlyOrderStats() {
        return monthlyOrderStats;
    }

    public void setMonthlyOrderStats(List<DailyOrderStats> monthlyOrderStats) {
        this.monthlyOrderStats = monthlyOrderStats;
    }

    public List<DailyRevenueStats> getMonthlyRevenueStats() {
        return monthlyRevenueStats;
    }

    public void setMonthlyRevenueStats(List<DailyRevenueStats> monthlyRevenueStats) {
        this.monthlyRevenueStats = monthlyRevenueStats;
    }

    /**
     * 每日订单统计
     */
    public static class DailyOrderStats {
        private String date;
        private Long orderCount;

        public DailyOrderStats() {}

        public DailyOrderStats(String date, Long orderCount) {
            this.date = date;
            this.orderCount = orderCount;
        }

        public String getDate() {
            return date;
        }

        public void setDate(String date) {
            this.date = date;
        }

        public Long getOrderCount() {
            return orderCount;
        }

        public void setOrderCount(Long orderCount) {
            this.orderCount = orderCount;
        }
    }

    /**
     * 每日营业额统计
     */
    public static class DailyRevenueStats {
        private String date;
        private BigDecimal revenue;

        public DailyRevenueStats() {}

        public DailyRevenueStats(String date, BigDecimal revenue) {
            this.date = date;
            this.revenue = revenue;
        }

        public String getDate() {
            return date;
        }

        public void setDate(String date) {
            this.date = date;
        }

        public BigDecimal getRevenue() {
            return revenue;
        }

        public void setRevenue(BigDecimal revenue) {
            this.revenue = revenue;
        }
    }
}